package com.koko.service;

import com.github.pagehelper.Page;
import com.koko.game.dto.*;
import com.koko.game.entity.Game;
import com.koko.game.vo.*;
import com.koko.result.PageResult;

import java.util.List;

public interface GameService {
    Page<Game> pageQuery(GamePageQueryDTO gamePageQueryDTO);

    Long save(GameAddDTO gameAddDTO);

    void deleteBatch(List<Long> ids);

    void update(GameDTO gameDTO);

    Game getById(Long id);

    List<Game> getByPublisherId(Long publisherId);

    List<GameCarouselVO> getCarouselData(GameCardDTO gameCardDTO);

    List<GameNewVO> getNewData(GameCardDTO gameCardDTO);

    List<GameDiscountVO> getDiscountData(GameCardDTO gameCardDTO);

    List<GameDiscountVO> getCommendData(GameCardDTO gameCardDTO);

    PageResult<GameDiscountVO> getListData(GameListPageQueryDTO gameListPageQueryDTO);

    List<GameCommonCarouselVO> getCommonCarouselData(GameCardDTO gameCardDTO);

    List<GameNewVO> getGamesByCategoryId(GameCardDTO gameCardDTO);

    GameFrontDetailVO getGameFrontDetailById(Long id);

    GameCartVO getGameOnCartByGameId(Long id);
}
